package com.hsy.crm.web.domain.entity;

import com.hsy.crm.web.domain.cm.Validate;

import javax.persistence.Column;
import javax.persistence.Table;

/**
 * 利润表明细   明细针对单个商品
 */
@Table(name = "t_profit_report_detail")
public class ProfitReportDetail extends BaseEntity{

    @Validate
    @Column(length = 19)
    private Long profitReportId;

    /**
     * 商品进货单价（页面显示的进货单价 所有优惠前的单价）
     */
    @Validate
    @Column(length = 19)
    private Long buyPrice;

    /**
     * 商品销售单价（页面显示的售货单价 所有优惠前的单价）
     */
    @Validate
    @Column(length = 19)
    private Long salePrice;

    /**
     * 商品进货成本
     */
    @Validate
    @Column(length = 19)
    private Long buyRealPrice;

    /**
     * 商品销售价（平摊销售优惠金额后的销售单价）
     */
    @Validate
    @Column(length = 19)
    private Long saleRealPrice;

    /**
     * 优惠金额（销售时的优惠金额 = 平摊优惠 + 商品本身折扣、优惠）
     */
    @Validate
    @Column(length = 19)
    private Long discountPrice;

    /**
     * 净利润（优惠后利润）  =  saleRealPrice - buyRealPrice
     */
    @Validate
    @Column(length = 19)
    private Long profitPrice;

    /**
     * 库存id
     */
    @Validate
    @Column(length = 19)
    private Long stoneProductId;

    /**
     * 商品id
     */
    @Validate
    @Column(length = 19)
    private Long productId;

    /**
     * 仓库id
     */
    @Validate
    @Column(length = 19)
    private Long stoneId;

    /**
     * 供应商id
     */
    @Validate
    @Column(length = 19)
    private Long vendorId;

    /**
     * 该商品库存销售数量（每行数据上显示的数量）
     */
    @Validate
    @Column(length = 11)
    private Integer number;

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public Long getProfitReportId() {
        return profitReportId;
    }

    public void setProfitReportId(Long profitReportId) {
        this.profitReportId = profitReportId;
    }

    public Long getBuyPrice() {
        return buyPrice;
    }

    public void setBuyPrice(Long buyPrice) {
        this.buyPrice = buyPrice;
    }

    public Long getSalePrice() {
        return salePrice;
    }

    public void setSalePrice(Long salePrice) {
        this.salePrice = salePrice;
    }

    public Long getBuyRealPrice() {
        return buyRealPrice;
    }

    public void setBuyRealPrice(Long buyRealPrice) {
        this.buyRealPrice = buyRealPrice;
    }

    public Long getSaleRealPrice() {
        return saleRealPrice;
    }

    public void setSaleRealPrice(Long saleRealPrice) {
        this.saleRealPrice = saleRealPrice;
    }

    public Long getDiscountPrice() {
        return discountPrice;
    }

    public void setDiscountPrice(Long discountPrice) {
        this.discountPrice = discountPrice;
    }

    public Long getProfitPrice() {
        return profitPrice;
    }

    public void setProfitPrice(Long profitPrice) {
        this.profitPrice = profitPrice;
    }

    public Long getStoneProductId() {
        return stoneProductId;
    }

    public void setStoneProductId(Long stoneProductId) {
        this.stoneProductId = stoneProductId;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Long getStoneId() {
        return stoneId;
    }

    public void setStoneId(Long stoneId) {
        this.stoneId = stoneId;
    }

    public Long getVendorId() {
        return vendorId;
    }

    public void setVendorId(Long vendorId) {
        this.vendorId = vendorId;
    }
}
